package com.atguigu.jxc.service;

import com.atguigu.jxc.domain.ServiceVO;
import com.atguigu.jxc.entity.ReturnList;
import com.atguigu.jxc.entity.ReturnListGoods;

import java.util.List;

public interface ReturnListService {
    /**
     * 退货单保存
     * @param returnList
     * @param returnNumber
     * @param returnListGoodsStr
     * @return
     */
    ServiceVO<ReturnList> saveReturnListAndGoods(ReturnList returnList,String returnNumber,String returnListGoodsStr);

    /**
     *退货单列表展示（可条件查询：单据号模糊、供应商、是否付款和日期区间）
     * @param returnNumber
     * @param supplierId
     * @param state
     * @param sTime
     * @param eTime
     * @return
     */
    List<ReturnList> getReturnList(String returnNumber, Integer supplierId, Integer state, String sTime, String eTime);
    //4.2、显示退货单商品信息
    List<ReturnListGoods> getReturnListGoodsList(Integer returnListId);
    //4.3、删除退货单 并删除退货单对应商品
    ServiceVO delectReturnListAndGoods(Integer returnListId);
    //3.2、退货统计（可根据 商品类别、商品编码或名称 条件查询）
    String countReturnListGoods(String sTime, String eTime, Integer goodsTypeId, String codeOrName);
    //结算退货单
    ServiceVO updateStateReturnList(String returnListId);
}
